From da8d886b173df9a00e4ddb978abe2655cac85e76 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 29 Nov 2016 13:36:31 +0100 Subject: [PATCH] gsk: Change GSK_USE_SOFTWARE env var to GSK_RENDERER This way, we can use the variable as more than a boolean flag. This will be useful for Vulkan or D3D renderers. --- gsk/gskrenderer.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/gsk/gskrenderer.c b/gsk/gskrenderer.c index 173756ff6d..d6d8b2d9fd 100644 --- a/gsk/gskrenderer.c +++ b/gsk/gskrenderer.c @@ -698,19 +698,23 @@ gsk_renderer_get_profiler (GskRenderer *renderer) static GType get_renderer_for_env_var (GdkWindow *window) { - static const char *use_software; + static GType env_var_type = G_TYPE_NONE; - if (use_software == NULL) + if (env_var_type == G_TYPE_NONE) { - use_software = g_getenv ("GSK_USE_SOFTWARE"); - if (use_software == NULL) - use_software = "0"; + const char *renderer_name = g_getenv ("GSK_RENDERER"); + + if (renderer_name == NULL) + env_var_type = G_TYPE_INVALID; + else if (g_ascii_strcasecmp (renderer_name, "cairo") == 0) + env_var_type = GSK_TYPE_CAIRO_RENDERER; + else if (g_ascii_strcasecmp (renderer_name, "opengl") == 0) + env_var_type = GSK_TYPE_GL_RENDERER; + else + env_var_type = G_TYPE_INVALID; } - if (use_software[0] != '0') - return GSK_TYPE_CAIRO_RENDERER; - - return G_TYPE_INVALID; + return env_var_type; } static GType -- 2.30.2